package com.netcracker.util.dao;

import com.netcracker.db.DBManager;
import com.netcracker.db.exception.DBException;
import com.netcracker.entity.User;
import com.netcracker.entity.record.UserRecord;

import java.util.List;

public interface UserDAO {

    public void setDBManager(DBManager dbManager);
    
    public void setDAOFacade(DAOFacade daoFacade);
    
    public void create(UserRecord user) throws DBException;

    public void edit(UserRecord user) throws DBException;

    public void remove(int id) throws DBException;

    public User find(int id) throws DBException;
    
    public User findByLogin(String login) throws DBException;

    public List<User> findAll() throws DBException;

    public int count() throws DBException;

    public void changePassword(int userID, String hashPassword) throws DBException;
    
}
